package com.zwps.biz.api.model.vo.log.api;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.time.LocalDateTime;

@Schema(description = "分页查询接口日志")
@Getter
@Setter
@ToString
public class SelectLogApiVO {

    @Schema(description = "id")
    private Integer id;

    @Schema(description = "请求id")
    private String requestId;
    
    @Schema(description = "日志类型")
    private Integer logType;

    @Schema(description = "日志类型名称")
    private String logTypeName;

    @Schema(description = "操作类型")
    private Integer operateType;

    @Schema(description = "操作类型名称")
    private String operateTypeName;

    @Schema(description = "操作名称")
    private String operateName;

    @Schema(description = "操作用户id")
    private String operateUserId;

    @Schema(description = "操作用户名称")
    private String operateRealname;

    @Schema(description = "操作IP")
    private String operateIp;

    @Schema(description = "操作状态（0：成功，1：失败）")
    private Integer operateStatus;

    @Schema(description = "操作状态名称")
    private String operateStatusName;

    @Schema(description = "请求路径")
    private String requestUrl;

    @Schema(description = "请求参数")
    private String requestParam;

    @Schema(description = "请求内容")
    private String requestBody;

    @Schema(description = "请求方式")
    private String requestMethod;

    /**
     * 请求内容类型
     */
    @Schema(description = "请求内容类型")
    private String requestContentType;

    @Schema(description = "异常详情")
    private String exceptionDetail;

    /**
     * 请求时间
     */
    @Schema(description = "请求时间戳")
    private Long requestTime;

    /**
     * 响应内容类型
     */
    @Schema(description = "响应内容类型")
    private String responseContentType;

    /**
     * 响应时间
     */
    @Schema(description = "响应时间戳")
    private Long responseTime;

    @Schema(description = "耗时（毫秒）")
    private Integer costTime;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;
}
